A mouse and associated method capable of controlling a cursor position in a display means while concurrently scrolling the display contents is disclosed in the referenced application ("parent application") . The features of the disclosed mouse (hereinafter the "scrolling mouse") are achieved by a structural improvement over a conventional mouse, consisting in including a spring-loaded supplementary control means in the mouse structure for generating a supplementary control signal that can be varied in magnitude and sign to control the scrolling rate and heading respectively. The structural improvement is combined with an operational method for setting the scrolling axis to a plurality of options (i.e., the "x", "y" or "z" axis), at the same time the cursor is moved. The operational method is based in moving the cursor so as to approximately define a cursor trail pattern recognizable by a computer program, being the recognized patterns used as commands to set the scrolling axis.
In this way, any desired data entity of a certain data space can be reached in a fast and efficient manner by extending the mouse functionality beyond the limits of the displayed image.
However, at the present state of the art, scrolling operations still demand a significant amount of computing power, which limits the scrolling speed when scrolling incrementally on a low scale (e.g., line by line in a text document). This is more evident when the mouse disclosed in the parent application is used in graphical environments, as for example Windows of Microsoft Corporation.
Furthermore, it has been observed that a mouse operator usually needs to scroll a display in incremental steps at different scales (i.e., line-by-line, page-by-page, etc.). For example in word processing applications, when browsing a text file searching for a particular paragraph, a page-scale scrolling may be appropriate, while in changing attributes of words or characters that are located within a long paragraph (that can not be displayed completely in a single screen), a line-scale scrolling may be needed so as to scroll the paragraph slowly until the desired word or character appears in the display.
It has also been observed that in a normal session operating a computer with a scrolling mouse, a user generally needs to vary the scrolling rate from nearly zero, so as to control the logic cursor position with high precision, to a high enough rate, so as to reach the desired field in the lowest time possible. However, when high precision is needed, a very low scrolling rate might be uncomfortable because the operator generally looses track of the time elapsed between one incremental scrolling command and the next.
Accordingly, there is a need for an improved scrolling mouse and associated method, capable of providing a better and more flexible scrolling control, to improve performance and enhance productivity.